home *** CD-ROM | disk | FTP | other *** search
- rollout SmoothRollOut "Smooth" rolledUp:true (
- local _name
- local _RollOut
-
- ---------------------------------------------------------------
- -- init GUI
- ---------------------------------------------------------------
- include "$scripts\\pteroTools\\_propGroupUI.ms"
- spinner spnAngle "Angle:" FieldWidth:40 type:#float range:[0, 180, 0] align:#left offset:[20,0] across:2
- angle angAngle "" diameter:17 dir:#ccw range:[0,180,0] align:#right offset:[-15,0] degrees:0 StartDegrees:0 color:(color 255 255 0)
- group "Groups" (
- checkbutton btnGrp01 "1" width:16 height:16 offset:[-5,0] align:#left across:8
- checkbutton btnGrp02 "2" width:16 height:16 offset:[-1,0]
- checkbutton btnGrp03 "3" width:16 height:16 offset:[1,0]
- checkbutton btnGrp04 "4" width:16 height:16 offset:[3,0]
- checkbutton btnGrp05 "5" width:16 height:16 offset:[5,0]
- checkbutton btnGrp06 "6" width:16 height:16 offset:[7,0]
- checkbutton btnGrp07 "7" width:16 height:16 offset:[9,0]
- checkbutton btnGrp08 "8" width:16 height:16 offset:[11,0]
- checkbutton btnGrp09 "9" width:16 height:16 offset:[-5,-2] align:#left across:8
- checkbutton btnGrp10 "10" width:16 height:16 offset:[2,-2]
- checkbutton btnGrp11 "11" width:16 height:16 offset:[4,-2]
- checkbutton btnGrp12 "12" width:16 height:16 offset:[6,-2]
- checkbutton btnGrp13 "13" width:16 height:16 offset:[8,-2]
- checkbutton btnGrp14 "14" width:16 height:16 offset:[10,-2]
- checkbutton btnGrp15 "15" width:16 height:16 offset:[12,-2]
- checkbutton btnGrp16 "16" width:16 height:16 offset:[14,-2]
- checkbutton btnGrp17 "17" width:16 height:16 offset:[-5,-2] align:#left across:8
- checkbutton btnGrp18 "18" width:16 height:16 offset:[2,-2]
- checkbutton btnGrp19 "19" width:16 height:16 offset:[4,-2]
- checkbutton btnGrp20 "20" width:16 height:16 offset:[6,-2]
- checkbutton btnGrp21 "21" width:16 height:16 offset:[8,-2]
- checkbutton btnGrp22 "22" width:16 height:16 offset:[10,-2]
- checkbutton btnGrp23 "23" width:16 height:16 offset:[12,-2]
- checkbutton btnGrp24 "24" width:16 height:16 offset:[14,-2]
- checkbutton btnGrp25 "25" width:16 height:16 offset:[-5,-2] align:#left across:8
- checkbutton btnGrp26 "26" width:16 height:16 offset:[2,-2]
- checkbutton btnGrp27 "27" width:16 height:16 offset:[4,-2]
- checkbutton btnGrp28 "28" width:16 height:16 offset:[6,-2]
- checkbutton btnGrp29 "29" width:16 height:16 offset:[8,-2]
- checkbutton btnGrp30 "30" width:16 height:16 offset:[10,-2]
- checkbutton btnGrp31 "31" width:16 height:16 offset:[12,-2]
- checkbutton btnGrp32 "32" width:16 height:16 offset:[14,-2]
- button btnClrAll "Clear All" width:100 height:18 align:#center
- )
-
- ---------------------------------------------------------------
- -- Init RollOut
- ---------------------------------------------------------------
- fn fnKeyNames = #( _name )
- fn fnKeyUI = #( #(
- spnAngle, btnGrp01, btnGrp02, btnGrp03, btnGrp04, btnGrp05, btnGrp06, btnGrp07, btnGrp08,
- btnGrp09, btnGrp10, btnGrp11, btnGrp12, btnGrp13, btnGrp14, btnGrp15, btnGrp16, btnGrp17,
- btnGrp18, btnGrp19, btnGrp20, btnGrp21, btnGrp22, btnGrp23, btnGrp24, btnGrp25, btnGrp26,
- btnGrp27, btnGrp28, btnGrp29, btnGrp30, btnGrp31, btnGrp32
- ) )
- fn fnKeyDef = #( #( 0 ) )
- fn fnName = "Smooth"
- fn fnRollOut = SmoothRollOut
- fn fnInitRollOut = (
- local _name = fnName()
- local _RollOut = fnRollOut()
- fnAppendRollOut _RollOut _name
- )
-
-
- ---------------------------------------------------------------
- -- fnApply()
- ---------------------------------------------------------------
- fn fnApply obj keyIDX read write del acq acqObj def sav clr = (
- local keyNames = fnKeyNames()
- local keyUI = fnKeyUI()
- local keyDef = if def then #( ( fnGetDefs keyNames[keyIDX] ) ) else fnKeyDef()
- local keyArray = #()
-
- if del do fnDeleteProp obj keyNames[keyIDX] ---- DELETE
-
- if sav do ---- SAVE DEFAULT
- try (
- for n = 1 to 33 do (
- if n == 1 do keyDef[keyIDX][n] = keyUI[keyIDX][n].value
- if n >= 2 and keyUI[keyIDX][n].checked then append keyDef[keyIDX] ( n - 1 )
- )
- fnSetDefs ( keyNames[keyIDX] as string ) ( keyDef[keyIDX] as string )
- return true
- ) catch ( print ( "Error: " + _name + ".fnApply() - save" ); return false )
-
- if clr do for n = 2 to 33 do keyUI[keyIDX][n].checked = false ---- CLEAR ALL
-
- keyArray = if acq then fnReadProp acqObj keyNames[keyIDX] else fnReadProp obj keyNames[keyIDX] ---- ACQUIRE
-
- if read or acq or del or def do ( ---- READ
- for n = 2 to 33 do keyUI[keyIDX][n].checked = false
- for n = 0 to 32 do
- if ( keyArray[(_firstValue + n)] == "" ) or ( keyArray[(_firstValue + n)] as string == "undefined" ) or def then try (
- if n == 0 do keyUI[keyIDX][(n+1)].value = keyDef[keyIDX][(n+1)]
- if ( n >= 1 ) and ( not keyDef[keyIDX][(n+1)] == undefined ) do keyUI[keyIDX][( keyDef[keyIDX][(n+1)] + 1 )].checked = true
- ) catch ( print ( "Error: " + _name + ".fnApply() - read - default" ); return false )
- else try (
- if n == 0 do keyUI[keyIDX][(n+1)].value = keyArray[_firstValue] as float
- if n >= 1 do keyUI[keyIDX][( ( keyArray[(_firstValue + n)] as integer ) + 1 )].checked = true
- ) catch ( print ( "Error: " + _name + ".fnApply() - read - properties" ); return false )
- angAngle.degrees = spnAngle.value
- if read or del do return true
- )
-
- if write do ---- WRITE
- try (
- keyArray[_keyName] = keyNames[keyIDX]
- del = true
- if keyUI[keyIDX][1].value > 0 do (
- try ( for n = (_firstValue + 1) to keyArray.count do deleteItem keyArray (_firstValue + 1) ) catch ()
- for n = 0 to 32 do (
- if n == 0 do keyArray[_firstValue] = keyUI[keyIDX][n+1].value as string
- if n >= 1 do if keyUI[keyIDX][n+1].checked do ( append keyArray ( n as string ); del = false )
- )
- )
-
- if del then fnDeleteProp obj keyNames[keyIDX]
- else fnWriteProp obj keyArray
- return true
-
- ) catch ( print ( "Error: " + _name + ".fnApply() - write" ); return false )
- )
-
- ---------------------------------------------------------------
- -- fnUpdate()
- ---------------------------------------------------------------
- fn fnUpdate keyIDX:1 read:false write:false del:false acq:false acqObj:undefined def:false sav:false clr:false = (
- if not write do write = btnAuto.checked
- for obj in selection do fnApply obj keyIDX read write del acq acqObj def sav clr
- )
-
- ---------------------------------------------------------------
- -- Event Handler
- ---------------------------------------------------------------
- on btnGrp01 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp02 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp03 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp04 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp05 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp06 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp07 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp08 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp09 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp10 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp11 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp12 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp13 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp14 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp15 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp16 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp17 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp18 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp19 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp20 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp21 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp22 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp23 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp24 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp25 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp26 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp27 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp28 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp29 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp30 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp31 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnGrp32 changed state do ( fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on angAngle changed value do ( spnAngle.value = value; fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on spnAngle changed value do ( angAngle.degrees = value; fnUpdate(); fnGetPropsToShow(); fnPrintLabel() )
- on btnClrAll pressed do ( fnUpdate clr:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnSet pressed do ( fnUpdate write:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnDef pressed do ( fnUpdate def:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnSav pressed do ( fnUpdate sav:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnDel pressed do ( fnUpdate del:true; fnGetPropsToShow(); fnPrintLabel() )
- on btnAcq changed state do ( fnAcquire _RollOut; fnGetPropsToShow(); fnPrintLabel() )
- on SmoothRollOut open do (
- _name = fnName()
- _RollOut = fnRollOut()
- fnOpenRollOut _RollOut
- )
- on SmoothRollOut close do fnCloseRollOut _RollOut
- )
-